/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.mindbox.mueblesalpes.presentacion.reportes;

import com.mindbox.mueblesalpes.negocio.entity.Cliente;
import com.mindbox.mueblesalpes.negocio.entity.Venta;
import com.mindbox.mueblesalpes.negocio.geo.Ciudad;
import com.mindbox.mueblesalpes.negocio.reportes.IReportes;
import com.mindbox.mueblesalpes.negocio.reportes.ReporteCompras;
import com.mindbox.mueblesalpes.negocio.reportes.ReportesMock;
import com.mindbox.mueblesalpes.presentacion.utils.Mensajes;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

/**
 *
 * @author Jaimoto
 */

public class ReporteComprasBean {

    private ReporteCompras reporte;

    /** Creates a new instance of ReporteComprasBean */
    public ReporteComprasBean() {
        try {
            IReportes reportesService = new ReportesMock();
            HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
            Cliente c = new Cliente();
            c.setNombreCompleto((String)request.getAttribute("cliente"));
            Ciudad ciudad = new Ciudad((String)request.getAttribute("ciudad"));
            reporte = reportesService.generarReporteCompras(c, (Date)request.getAttribute("fechaIni")  ,(Date)request.getAttribute("fechaFin") , ciudad);
            List<Venta> lista = reporte.getListCompras();
            for (Venta venta : lista) {
                System.out.println(venta.getCompras().size());
            }

        } catch (Exception ex) {
            Mensajes.asignarMensajeError("common.error",ex.getMessage());
            Logger.getLogger(ReporteComprasBean.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public ReporteCompras getReporte() {
        return reporte;
    }

    public void setReporte(ReporteCompras reporte) {
        this.reporte = reporte;
    }

}
